Usage of software is governed by software licenses. A software license is a legal instrument that permits a licensee to do that which a licensor otherwise has a right to prevent. The rights of licensors are derived from intellectual property law including copyright and potentially patent rights associated with the software. Rather than selling all rights and interests in software, software vendors typically sell licenses to users granting permission to use the software subject to various terms and conditions. As a result, a software vendor maintains ownership of the software and associated intellectual property, and customers can derive benefits afforded by the software. A license also provides a software vendor with a mechanism to monetize software by way of a license fee.
The emergence of cloud computing provides an opportunity for improved license enforcement. Cloud computing generally refers to delivering computing, including hardware and software, as a service rather than a product. Software products traditionally have rudimentary, if any, license enforcement mechanism. Accordingly, a customer can declare a number of software users, and a software vendor collects licensing revenue for that number of users. Cloud computing can enable much more accurate license enforcement. In particular, service can be provided in accordance with a subscription that provides a number of access licenses. In this manner, if a subscription supplies one-hundred licenses for a software service and two are used, the customer has ninety-eight licenses remaining. This mechanism is beneficial to customers, because they know they are in compliance in terms of their agreement with a software vendor, and this mechanism is good for software vendors since they receive revenue to which they are entitled.
In enterprises, administrators are responsible for managing licenses. Using a portal or command-line capability, an administrator can assign a license to a user or retract a license from a user. For instance, if a new employee joins a company, an administrator can assign a license to that user. Alternatively, if an employee leaves a company, a license for that user can be retracted and potentially assigned to a subsequent new employee.